package com.ctbu.score.service.impl;

import com.ctbu.score.domain.Teacher;
import com.ctbu.score.mapper.TeacherMapper;
import com.ctbu.score.service.TeacherService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @ClassName TeacherServiceImpl
 * @Description 实现 TeacherService 接口，用于管理教师相关的操作。
 **/
@Service
public class TeacherServiceImpl implements TeacherService {

    // 注入 TeacherMapper 依赖
    @Autowired
    private TeacherMapper teacherMapper;

    /**
     * @Description 教师登录方法。
     * @param teaId 教师编号
     * @param teaPass 教师密码
     * @return 如果登录成功返回 Teacher 对象，否则返回 null
     **/
    @Override
    public Teacher login(String teaId, String teaPass) {
        return teacherMapper.selectTeacherByIdAndPass(teaId, teaPass);
    }

    /**
     * @Description 获取所有教师信息。
     * @return 所有 Teacher 对象的列表
     **/
    @Override
    public List<Teacher> getAllTeacher() {
        return teacherMapper.selectAllTeacher();
    }

    /**
     * @Description 添加一个没有密码的教师。
     * @param teacher 要添加的 Teacher 对象
     * @return 插入的记录数
     **/
    @Override
    public int addTeacher(Teacher teacher) {
        return teacherMapper.insertTeacher(teacher);
    }

    /**
     * @Description 添加一个有密码的教师。
     * @param teacher 要添加的 Teacher 对象
     * @return 插入的记录数
     **/
    @Override
    public int addTeacherHavePass(Teacher teacher) {
        return teacherMapper.insertTeacherHavaPass(teacher);
    }

    /**
     * @Description 根据教师编号获取教师信息。
     * @param teaId 教师编号
     * @return 如果找到返回 Teacher 对象，否则返回 null
     **/
    @Override
    public Teacher selectById(String teaId) {
        return teacherMapper.selectTeacherByStuId(teaId);
    }

    /**
     * @Description 根据教师编号删除教师。
     * @param teaId 教师编号
     * @return 删除的记录数
     **/
    @Override
    public int deleTea(String teaId) {
        return teacherMapper.deleteTeaById(teaId);
    }
}
